def fibonacciSum(n: int) -> int:
	"""使用循环计算斐波那契数列前 n 个数的总和。

	约定：按题目示例采用 1 为第 1 个元素（即序列为 1,1,2,3,5...），
	当输入 n=4 时，前 4 个数之和为 1+1+2+3 = 7。
	"""
	if n <= 0:
		return 0

	a, b = 1, 1  # a 为当前项，b 为下一项
	total = 0
	for _ in range(n):
		total += a
		a, b = b, a + b
	return total


def fibonacciNum(n: int) -> int:
	"""使用递归计算斐波那契数列第 n 个数（1-based 索引）。

	约定：fibonacciNum(1)=1, fibonacciNum(2)=1。
	对于较大的 n 递归性能会很差，但本题要求使用递归实现。
	"""
	if n <= 0:
		raise ValueError('n 必须为正整数')
	if n == 1 or n == 2:
		return 1
	return fibonacciNum(n - 1) + fibonacciNum(n - 2)


if __name__ == '__main__':
	# 交互：请求用户输入 n，并展示两个函数的结果
	try:
		raw = input('请输入正整数 n（计算前 n 项之和，并输出第 n 项）: ').strip()
		n = int(raw)
	except Exception:
		print('输入无效，请输入正整数')
	else:
		if n <= 0:
			print('n 必须为正整数')
		else:
			print(f'前 {n} 项之和: {fibonacciSum(n)}')
			# 按题目示例，第 n 项（1-based）
			try:
				val = fibonacciNum(n)
			except RecursionError:
				print('递归超限，n 太大')
			else:
				print(f'第 {n} 项的值: {val}')

	# 自检示例
	examples = [4, 1, 6]
	print('\n自检示例:')
	for ex in examples:
		try:
			print(f'n={ex}: sum={fibonacciSum(ex)}, num={fibonacciNum(ex)}')
		except Exception as e:
			print(f'n={ex}: 错误 {e}')

